package cn.dengta.webapp.user.model;

import java.io.Serializable;
import javax.annotation.Nullable;

import cn.dengta.common.model.ValueProxy;
import cn.dengta.common.model.ValueProxyImpl;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;

/**
 * 业务场景类型
 */
@Getter
public enum BizType implements Serializable,ValueProxyImpl<BizType, Integer> {

	/** 1V1 */
	CHAT(0, "1V1"),
	/** 直播 */
	LIVE(1, "直播"),
	//
	;

	// 定义私有变量
	@EnumValue
	public final Integer value;
	final ValueProxy<BizType, Integer> proxy;

	// 构造函数，枚举类型只能为私有
	BizType(Integer value, String label) {
		this.value = value;
		this.proxy = new ValueProxy<>(this, value, label);
	}

	public static final BizType[] CACHE = values();

	public static BizType of(@Nullable Integer value) {
		return CHAT.getValueOf(value);
	}

}
